import { makeObservable, observable, action} from "mobx";
class Status{
    // 对话框状态
    @observable dialog = {};
    // 加载层状态
    @observable loading = {};
    // 是否可进入主页面状态
    @observable isEnterMain = false;
    constructor(){
        makeObservable(this);
        // 设置对话框默认状态
        this.dialog = this._defaultDialog = {
            visible: false, // 可见状态
            title: null,  // 标题
            context: "",  // 内容
            closable: false,  // 关闭小图标显示状态
            onOk: null,  // 确认按钮事件
            onCancel: this.closeDialog,  // 关闭按钮事件
            okText: "确定",  // 确认按钮文案
            okType: "primary", // 确认按钮显示样式状态
            confirmLoading: false, // 确定按钮加载状态
            cancelText: "取消" // 取消按钮文案
        };
        // 设置加载层状态
        this.loading = this._loading = {
            open: false,
            className: ""
        };
    }
    // 设置对话框状态
    @action.bound setDialog(options){
        this.dialog = {...this._defaultDialog, ...options};
    }
    // 设置确认按钮为加载状态
    @action.bound setDialogLoading(){
        this.dialog = {...this.dialog, confirmLoading: true};
    }
    // 关闭对话框
    @action.bound closeDialog(){
        this.dialog = this._defaultDialog;
    }
    // 设置加载层状态
    @action.bound setLoading(options){
        this.loading = {...this._loading, ...options};
    }
    // 关闭加载层
    @action.bound closeLoading(){
        this.loading = this._loading;
    }
    // 设置可进入主页面状态
    @action.bound setEnterMainType(type){
        this.isEnterMain = type;
    }
}
export default Status;